package yxxy.c_001;

/**
 * synchronized关键词
 * 给对象加上锁
 * synchronized是互斥锁，同一时间只能由一个线程来获取
 *
 * @create: 2019-08-08 21:56
 **/
public class T {

    private int count = 100;
    private Object o = new Object();    //new 出来的这个对象保存在堆内存中

    //这样写每次开启一个线程都需要new一个object对象
    public void m() {
        synchronized (o) {  //任何线程要执行下面的代码，都必须先拿到o的锁
            count--;
            System.out.println(Thread.currentThread().getName() + " count = " + count);
        }
    }
}
